#ifndef TYPESDEFINITION_H_
#define TYPESDEFINITION_H_

#include "boost_list.h"
#include <list>
namespace common{

typedef float skreal;
typedef std::list<int> _keyType;

typedef boost::numeric::ublas::vector<skreal> ublasVector;
typedef boost::numeric::ublas::zero_vector<skreal> ublasVectorZero;
typedef boost::numeric::ublas::scalar_vector<skreal> ublasVectorScalar;
typedef boost::numeric::ublas::vector_range<ublasVector > ublasVectorRange;
typedef boost::numeric::ublas::matrix<skreal> ublasMatrix;
typedef boost::numeric::ublas::identity_matrix<skreal> ublasMatrixIdentity;
typedef boost::numeric::ublas::zero_matrix<skreal> ublasMatrixZero;
typedef boost::numeric::ublas::matrix_range<ublasMatrix > ublasMatrixRange;


/**
 * Temporary function
 */
void skPmatrix(ublasMatrix* m);
void skPmatrix(ublasMatrixRange* m);
void skPvector(ublasVector* v);
void skPvector(ublasVectorRange* v);

}
#endif /* TYPESDEFINITION_H_ */
